home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Night Owl 6
/
Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso
/
025a
/
oclip.zip
/
OCLIP.CH
< prev
next >
Wrap
Text File
|
1991-11-25
|
2KB
|
56 lines
/*
╔══════════════════════════════════════════════════════════════════════╗
║ o:Clip ║
║ An Object Oriented Extension to Clipper 5.01 ║
║ (c) 1991 Peter M. Freese, CyberSoft ║
╚══════════════════════════════════════════════════════════════════════╝
Version 1.0a - November 10, 1991
*/
#xcommand CLASS <name> FROM <parent> => ;
CLASS <name> _FROM <parent>()
#xcommand CLASS <name> [ _FROM <parent> ] => ;
FUNCTION <name>;;
STATIC hClass := 0, oParent;;
LOCAL oNew;;
if hClass == 0;;
oParent := __DefineClass(<"name">,<{parent}>)
#xcommand VAR <var1> [,<varN>] => ;
__AddVar(<"var1">) [; __AddVar(<"varN">)]
#xcommand METHOD <methodName> [,<*methodN*>] => ;
__AddMethod(<"methodName">, <"methodName">) [; METHOD <methodN>]
#xcommand METHOD <methodName> = <methodUDF> [,<*methodN*>] => ;
__AddMethod(<"methodName">, <"methodUDF">) [; METHOD <methodN>]
#xcommand ENDCLASS => ;
hClass := __MakeClass();;
end;;
oNew := __ClassIns(hClass);;
oNew\[1] := oParent;;
RETURN oNew
#xtranslate :: => self:
#xtranslate super => parent
#xtranslate parent:<method> => ;
__PARENT( {|o| o:<method> } )
#xtranslate parent:<method>:<*Anything*> => ;
parent:<method> ;;
#error Chaining not allowed after overridden method call.
#command METHOD FUNCTION <*formals*> => ;
FUNCTION <formals> ;;
LOCAL self := QSELF()
#command METHOD PROCEDURE <*formals*> => ;
PROCEDURE <formals> ;;
LOCAL self := QSELF()